<menu id="8mwcu"></menu>
  • <rt id="8mwcu"><code id="8mwcu"></code></rt><center id="8mwcu"><dd id="8mwcu"></dd></center>
    <center id="8mwcu"></center>
    <dl id="8mwcu"></dl><tbody id="8mwcu"><small id="8mwcu"></small></tbody>
    
    
    <tbody id="8mwcu"></tbody>
     
    技術(shù)博客INFO
    聯(lián)系我們CONTACT

    公司地址:茂名市人民南路新村大院22號(hào)101

    電話:13592986386

    PyCharm項(xiàng)目文件介紹您當(dāng)前的位置:首頁(yè) > PyCharm項(xiàng)目文件介紹

    PyCharm項(xiàng)目文件介紹

    發(fā)布時(shí)間:2024/8/18 21:03:18

    init.py 是一個(gè)空文件,表示當(dāng)前目錄news可以當(dāng)作一個(gè)python包使用。
    tests.py 文件用于開(kāi)發(fā)測(cè)試用例,在實(shí)際開(kāi)發(fā)中會(huì)有專門(mén)的測(cè)試人員,這個(gè)事情不需要我們來(lái)
    做。
    models.py 文件跟數(shù)據(jù)庫(kù)操作相關(guān)。
    views.py 文件跟接收瀏覽器請(qǐng)求,進(jìn)行處理,返回頁(yè)面相關(guān)。
    admin.py 文件跟網(wǎng)站的后臺(tái)管理相關(guān)。
    migrations 數(shù)據(jù)庫(kù)遷移文件。



    3.1 settings介紹
    django項(xiàng)目創(chuàng)建后,在主應(yīng)用中,會(huì)有一個(gè)settings.py文件,這個(gè)就是該項(xiàng)目的配置文件


    settings文件包含Django安裝的所有配置
    settings文件是一個(gè)包含模塊級(jí)變量的python模塊,所以該模塊本身必須符合python規(guī)則,并且可以使用python的語(yǔ)法
    settings中的所有配置項(xiàng)的key必須全部大寫(xiě)
    settings中每一個(gè)配置項(xiàng)都有默認(rèn)值,默認(rèn)配置內(nèi)容在django/conf/global_settings.py中可以查看到,項(xiàng)目中不需要導(dǎo)入該模塊,django框架會(huì)自動(dòng)獲取
    settings中可以添加自定義的配置項(xiàng)
    ————————————————


                                版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
                            
    原文鏈接:https://blog.csdn.net/weixin_46264660/article/details/141087465


    對(duì)于一個(gè)python項(xiàng)目,里面的每一個(gè)文件夾都可以認(rèn)為是一個(gè)package,而每一個(gè).py文件被認(rèn)為是一個(gè)module。如果你用的IDE是PyCharm,

    那么當(dāng)你新建一個(gè)Python Package的時(shí)候,PyCharm都會(huì)自動(dòng)為你新建一個(gè)__init__.py文件。這個(gè)__init__.py文件可以看作這個(gè)package的初始化文件,

    具體用途且看下文。


    __init__.py文件在做什么

    這說(shuō)明__init__.py中的代碼被執(zhí)行了。如果把demo.py中的 import package 換成import package.module也是一樣的結(jié)果。這說(shuō)明,

    當(dāng)我們從一個(gè)package里面調(diào)用東西的時(shí)候,該__init__.py文件內(nèi)的代碼會(huì)被首先執(zhí)行。


    __init__.py文件有什么用?

    3.1 簡(jiǎn)化import語(yǔ)法
    假設(shè)在module.py文件中有一個(gè)函數(shù)a_function()如下

    # module.py
    def a_function():
        print("Test function is called!")


    如果我現(xiàn)在想從demo.py中調(diào)用它,沒(méi)有__init__.py文件的話,只能這么寫(xiě)(方法一)

    # __init__.py
    from package.module import a_function


    但是我可以在__init__.py中進(jìn)行如下定義
    # demo.py
    from package import a_function

    a_function()

    好像也沒(méi)簡(jiǎn)潔到哪兒去?試想,如果你在package里面有幾十個(gè)module,那么當(dāng)你想調(diào)用這幾十個(gè)module里面的幾十上百個(gè)函數(shù)的時(shí)候,

    你就需要在demo.py文件中寫(xiě)幾十行import語(yǔ)句,這樣無(wú)疑是不簡(jiǎn)潔的。而采用方法二的辦法,你就可以把這些import語(yǔ)句統(tǒng)統(tǒng)放進(jìn)__init__.py文件。

    但這不是__init__.py最重要的用途,最重要的是下面兩點(diǎn)。


    3.2 批量導(dǎo)入和規(guī)范化導(dǎo)入以及__all__

    如果你在module.py中定義了很多函數(shù),你想在demo.py中調(diào)用,怎么辦呢?如module.py中有兩個(gè)函數(shù)

    # module.py


    def a_function_1():
        print("Test function 1 is called!")


    def a_function_2():
        print("Test function 2 is called!")

    先在__init__.py批量導(dǎo)入

    from package.module import *

    再在demo.py中批量導(dǎo)入

    # demo.py

    from package import *

    a_function_1()

    更優(yōu)雅一點(diǎn)可以調(diào)用__all__屬性,在__init__.py中定義可以被外界調(diào)用的類和方法,如

    # __init__.py

    __all__ = ['a_function_1']     # 這樣,在demo.py只能調(diào)用a_function_1方法

    from package.module import *

    這里舉的例子都是函數(shù)/方法,對(duì)于類來(lái)說(shuō),是一樣的。

    美丽人妻中文字幕中出在线,97婷婷视频在线,亚洲精品午夜无码专区,人人九九精品国产 国产黄色视频在线播 亚洲精品91天天久久人人
    <menu id="8mwcu"></menu>
  • <rt id="8mwcu"><code id="8mwcu"></code></rt><center id="8mwcu"><dd id="8mwcu"></dd></center>
    <center id="8mwcu"></center>
    <dl id="8mwcu"></dl><tbody id="8mwcu"><small id="8mwcu"></small></tbody>
    
    
    <tbody id="8mwcu"></tbody>